//
//  WCS_WS_Client.h
//  VCS_WS_Client
//
//  Created by hu_danyuan on 19-08-21.
//   (c) Copyright 2019, hu_danyuan All Rights Reserved
//
//	描    述:  WCS通讯接口
//

#import <Foundation/Foundation.h>
#import "VCS_WS_Client.h"
#import "WCS_WS_Node.h"

@interface WCS_WS_Client : VCS_WS_Client

/** 查询服务器版本信息 */
- (void)WCS_queryVersion:(void (^ _Nullable)(WCS_WS_ServerVersion * _Nullable result, NSError * _Nullable error))completion;

/**
 * 查询指定节点下的子节点
 * @param path          指定区域路径，每个区域之间用.分隔开。为空则表示查询全部
 * @param type          all表示所有设备
 * @param offset        定返回结果从第几个设备开始
 * @param count         指定返回结果设备数量
 * @param completion    请求结果回调，区域对象
 * @return
 */
- (void)WCS_queryNodesWithPath:(NSString * _Nonnull)path
                          type:(NSString * _Nullable)type
                        offset:(NSInteger)offset
                         count:(NSInteger)count
                    completion:(void (^ _Nonnull)(NSArray<WCS_WS_Node *> * _Nullable result, NSError * _Nullable error))completion;

/**
 * @brief 云台控制
 * @brief path		被控制节点路径
 * @param command	云台命令，tilt_up、tilt_down、pan_left、pan_right、up_left、up_right、down_left、down_right、zoom_in、zoom_out、focus_in、focus_out、iris_up、iris_down, stop_all
 * @param xspeed	水平控制速度，0~255
 * @param yspeed	垂直控制速度，0~255
 * @return 0-表示发送命令成功，并不代表控制成功
 */
- (void)WCS_ptzControlWithSpeed:(NSString * _Nonnull)path
                        command:(NSString * _Nonnull)command
                         xspeed:(int)xspeed
                         yspeed:(int)yspeed
                     completion:(void (^ _Nullable)(NSInteger result, NSError * _Nullable error))completion;

/**
 * @brief 查询录像
 * @param findCond  查询条件
 * @param
 */
- (void)WCS_queryRecords:(WCS_WS_FindCond * _Nonnull)findCond
              completion:(void (^ _Nonnull)(WCS_WS_RecordResult * _Nullable result, NSError * _Nullable error))completion;

/**
 * @brief 创建flv链接，无须客户端管理这个flv资源，服务器会自动清理
 * @param previewInfo	预览信息
 * @param completion    请求结果回调
 */
- (void)WCS_createFLV:(WCS_WS_PreviewInfo * _Nonnull)previewInfo
           completion:(void (^ _Nullable)(WCS_WS_UrlInfo * _Nullable result, NSError * _Nullable error))completion;

@end










